import request, { communityRequest } from '@/utils/request'

// 通用数据API接口
export const commonApi = {
  // 获取所有小区列表
  getAllCommunities(commName) {
    return communityRequest({
      url: '/community/allcomm',
      method: 'get',
      params: { commName }
    })
  },

  // 获取小区选择列表（只返回id和名称）
  getCommunitySelectList() {
    return communityRequest({
      url: '/community/selcomm',
      method: 'get'
    })
  },

  // 根据小区ID获取楼宇列表
  getBuildingsByCommunityId(communityId) {
    return request({
      url: '/building/byCommunity',
      method: 'get',
      params: { communityId }
    })
  },

  // 根据楼宇ID获取房间列表
  getRoomsByBuildingId(buildingId) {
    return request({
      url: '/room/byBuilding',
      method: 'get',
      params: { buildingId }
    })
  },

  // 获取所有楼宇列表
  getAllBuildings() {
    return request({
      url: '/building/all',
      method: 'get'
    })
  },

  // 获取所有房间列表
  getAllRooms() {
    return request({
      url: '/room/all',
      method: 'get'
    })
  },

  // 测试楼宇控制器
  testBuildingController() {
    return request({
      url: '/building/test',
      method: 'get'
    })
  },

  // 获取省份列表
  getProvinces() {
    return request({
      url: 'https://restapi.amap.com/v3/config/district?key=高德地图API密钥&keywords=中国&subdistrict=1&extensions=base',
      method: 'get'
    })
  },

  // 获取城市列表（根据省份代码）
  getCities(provinceCode) {
    return request({
      url: `https://restapi.amap.com/v3/config/district?key=高德地图API密钥&keywords=${provinceCode}&subdistrict=1&extensions=base`,
      method: 'get'
    })
  },

  // 获取区县列表（根据城市代码）
  getDistricts(cityCode) {
    return request({
      url: `https://restapi.amap.com/v3/config/district?key=高德地图API密钥&keywords=${cityCode}&subdistrict=1&extensions=base`,
      method: 'get'
    })
  },

  // 使用免费的公共API获取省市区数据
  getRegionData() {
    return request({
      url: 'https://api.i-meto.com/region',
      method: 'get',
      timeout: 5000,
      headers: {
        'Accept': 'application/json'
      }
    })
  },

  // 使用另一个免费的API
  getChinaRegionData() {
    return request({
      url: 'https://raw.githubusercontent.com/modood/Administrative-divisions-of-China/master/dist/areas.json',
      method: 'get',
      timeout: 10000,
      headers: {
        'Accept': 'application/json'
      }
    })
  },

  // 使用聚合数据的省市区API（需要申请API密钥）
  getJuheRegionData() {
    return request({
      url: 'http://apis.juhe.cn/administrative/query',
      method: 'get',
      params: {
        key: 'YOUR_JUHE_API_KEY', // 需要替换为真实的API密钥
        level: 1
      },
      timeout: 5000
    })
  }
}
